package com.leetcode.www;

/**
 * Creared with IntelliJ IDEA.
 * Description:给你一个有序数组 nums ，请你 原地 删除重复出现的元素，使每个元素 只出现一次 ，返回删除后数组的新长度。
 *
 * 不要使用额外的数组空间，你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
 *
 * User:yxd
 * Date:2022-01-09
 * Time:20:34
 */
public class Normal26 {
    public static void main(String[] args) {
        int[] a = {0,0,1,1,1,2,3,4,4,5};
        int p = 0;
        int q = 1;
        //把这个数组里面的不重复项全部放在开始的所有位  有重复的就让q走向下一位
        //没重复的话 就让p的下一位是新的一个不重复的数 并且两个数就向下走一位直到走完整个数组
        while(q < a.length){
            if(a[q] != a[p]){
                a[p + 1] = a[q];
                p++;
            }
            q++;
        }
        System.out.println(p + 1);
    }
}
